雖然已經能讓 Line chatbot 回話了,但考慮到之後要做的功能,有必要幫 chatbot 回覆的內容美化一下。Flex message 就能做到美化的效果,透過JSON
格式編輯版面,可以客製化的互動對話介面,適用於各種電子載體。
Flex message 完整的結構,可以視情況選擇哪一個部分要放什麼東西,甚至可以省略不需要的部分:
View as JSON
,複製內容,存成JSON
檔以下稍微介紹 Flex message 內的零件:
用Python
讀JSON
檔,依情境修改內容,透過FlexSendMessage
送出
範例:
with open("templates/detect_result.json", "r") as f_r:
bubble = json.load(f_r)
f_r.close()
# 依情況更動 components
bubble["body"]["contents"][0]["contents"][0]["text"] = output
bubble["header"]["contents"][0]["contents"][0]["url"] = link
LINE_BOT.reply_message(
event.reply_token,
[
FlexSendMessage(alt_text="Report", contents=bubble)
]
)
有了這工具之後,我們就可以把之後使用 Azure 認知服務的結果包裝成 Flex message 發送給使用者了。下一篇重心要再度回到 Azure 身上,開始利用 Azure 打造 chatbot。